Recently, contents flowing on networks, the Internet in particular, have increased in volume and diversity from character information to still image information, further to moving image information. Accordingly, coding techniques for compressing information amounts have been developed. The developed coding techniques have been standardized internationally and widely spread.
On the other hand, networks themselves have increased capacity and diversity, and hence one content from the transmitting side passes through various environments until it reaches the receiving side. In addition, transmitting/receiving-side devices have diversified in terms of processing performance. General-purpose information processing apparatuses such as personal computers (to be referred to as PCs hereinafter) mainly used as transmission/reception devices have exhibited great improvements in performance such as CPU performance and graphics performance. On the other hand, devices with different types of processing performance, e.g., a PDA, cell phone, TV set, and hard disk recorder, have been equipped with network connection functions. Under the circumstances, a great deal of attention has been paid to a function called scalability, which can cope with changing communication line capacities and the processing performance of receiving-side devices with one data.
The JPEG 2000 coding scheme is widely known as a still image coding scheme having this scalability function. This scheme is standardized internationally and described in detail in ISO/IEC15444-1 (Information technology—JPEG 2000 image coding system—Part 1: Core coding system). A characteristic feature of this scheme is that DWT (Discrete Wavelet Transformation) is performed for input image data to discretize the data into a plurality of frequency bands. The coefficients of the respective frequency bands are quantized, and the quantized values are arithmetically coded for each bitplane. This scheme allows fine control of layers by coding or decoding only a necessary number of bitplanes.
In addition, the JPEG 2000 coding scheme has realized a so-called ROI (Region Of Interest) technique of relatively improving the image quality of a region of interest in an image, which does not exist in the conventional coding techniques.
FIG. 8 shows a coding sequence in the JPEG 2000 coding scheme. A tile segmentation unit 9001 segments an input image into a plurality of regions (tiles). This function is optional. A DWT unit 9002 performs discrete wavelet transformation to discretize data into frequency bands. A quantization unit 9003 quantizes each coefficient. This function is however optional. An ROI unit 9007 is optional, which sets a region of interest. A quantization unit 9003 performs shift up. An entropy coding unit 9004 performs entropy coding by the EBCOT (Embedded Block Coding with Optimized Truncation) scheme. A bitplane round-down unit 9005 performs rate control by rounding down lower bitplanes of the coded data, as needed. A code forming unit 9006 adds header information to the data and selects various types of scalability functions, thereby outputting code data.
FIG. 9 shows a decoding sequence in the JPEG 2000 coding scheme. A code analyzing unit 9020 analyzes a header to obtain information for forming layers. A bitplane round-down unit 9021 rounds down lower bitplanes of the input coded data in accordance with the capacity of an internal buffer and the decoding capability. An entropy decoding unit 9022 decodes the coded data based on the EBCOT coding scheme to obtain quantized wavelet transformation coefficients. A dequantization unit 9023 dequantizes the coefficients. An inverse DWT unit 9024 performs inverse discrete wavelet transformation for the dequantized coefficients to reproduce image data. A tile combining unit 9025 combines a plurality of tiles to reproduce image data.
A Motion JPEG 2000 scheme (ISO/IEC15444-3 (Information technology-JPEG 2000 image coding system Part 3: Motion JPEG 2000)) has also been recommended, which performs moving image coding by making this JPEG 2000 coding scheme correspond to each frame of a moving image. According to this scheme, coding is independently performed for each frame, and some redundancy is left between frames because coding is performed without using time correlation. For this reason, it is difficult to effectively reduce the code amount as compared with the moving image coding scheme using time correlation.
In the MPEG coding scheme, motion compensation is performed to improve the coding efficiency. This technique is disclosed in “Latest MPEG Textbook” (ASCII Publishing, p. 76, 1994). FIG. 10 shows a coding sequence in this scheme. A block segmentation unit 9031 segments data into 8×8 pixel blocks. A differential unit 9032 subtracts predicted data from the resultant data by motion compensation. A DCT unit 9033 performs discrete cosine transformation. A quantization unit 9034 performs quantization. The resultant data is coded by an entropy coding unit 9035. A code forming unit 9036 adds header information to the resultant data to output code data.
At the same time, a dequantization unit 9037 dequantizes the data. An inverse DCT unit 9038 performs inverse transformation to discrete cosine transformation. An addition unit 9039 adds predicted data to the resultant data and stores it in a frame memory 9040. A motion compensation unit 9041 obtains a motion vector by referring to the input image and a reference frame stored in the frame memory 9040, thereby generating predicted data.
When the above MPEG coding scheme is to be applied to a scheme designed to perform bitplane coding so as to realize scalability as in JPEG 2000, errors in motion compensation due to abortion of bitplane coding are accumulated to cause a deterioration in image quality. Assume that the DCT unit 9033 and inverse DCT unit 9038 in FIG. 10 are replaced with discrete wavelet transformation and inverse discrete wavelet transformation, bitplane coding is performed by the entropy coding unit 9035, and the bitplane round-down unit 9005 is added to the code forming unit 9036 to round down bitplanes. In this case, the number of bitplanes reproduced in each frame differs from that in a case wherein the bitplane round-down unit 9021 in FIG. 9 rounds down bitplanes. In addition, if a rounded-down lower bitplane is compensated for by 0, the resultant error differs from the original value. If a P-picture or B-picture is generated from a P-picture in MPEG, errors are accumulated, resulting in a deterioration in the image quality of a moving image.